﻿Imports System.Data
Imports System.Data.SqlClient
Imports System.TimeSpan
Public Class frmDetalleAhorros
    Public ahorros As Double

    Private Sub frmDetalleAhorros_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'TODO: esta línea de código carga datos en la tabla 'EsperanzaDBDataSet.SP_MostrarDetalleAhorro' Puede moverla o quitarla según sea necesario.
        Me.SP_MostrarDetalleAhorroTableAdapter.Fill(Me.EsperanzaDBDataSet.SP_MostrarDetalleAhorro)
        'TODO: esta línea de código carga datos en la tabla 'EsperanzaDBDataSet.SP_MostrarTipoTransaccion' Puede moverla o quitarla según sea necesario.
        Me.SP_MostrarTipoTransaccionTableAdapter.Fill(Me.EsperanzaDBDataSet.SP_MostrarTipoTransaccion)
        'TODO: esta línea de código carga datos en la tabla 'EsperanzaDBDataSet.SP_MostrarCuentaAhorroXClientes' Puede moverla o quitarla según sea necesario.
        Me.SP_MostrarCuentaAhorroXClientesTableAdapter.Fill(Me.EsperanzaDBDataSet.SP_MostrarCuentaAhorroXClientes)
        Me.dtpFechaTrans.Text = Today
        Me.dteHoraTransaccion.Time = TimeOfDay
        Me.txtAhorros.Enabled = False
        Me.txtRetiros.Enabled = False
        Me.btnHistorial.Enabled = False
        Me.txtSaldo.Enabled = False
    End Sub

    Private Sub btnCerrar_Click(sender As Object, e As EventArgs) Handles btnCerrar.Click
        Me.Close()
    End Sub

    Private Sub guardardetalle()
        Try
            SP_MostrarDetalleAhorroTableAdapter.SP_InsertarDetalleAhorro(Me.cboNumCuenta.EditValue, Me.cboTipoTransaccion.EditValue, Me.txtMonto.Text, 1, Me.dtpFechaTrans.Text, Me.dteHoraTransaccion.Text)
            MessageBox.Show("Su detalle ha sido agregado a la cuenta", varTitulo, MessageBoxButtons.OK, MessageBoxIcon.Information)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

    Private Sub btnAgregar_Click(sender As Object, e As EventArgs) Handles btnAgregar.Click
        Call guardardetalle()
        Me.Close()
    End Sub

    Private Sub cboTipoTransaccion_EditValueChanged(sender As Object, e As EventArgs) Handles cboTipoTransaccion.EditValueChanged
        Me.cboTipoTransaccion.BackColor = Color.White
    End Sub

    Private Sub txtMonto_EditValueChanged(sender As Object, e As EventArgs) Handles txtMonto.EditValueChanged
        Me.txtMonto.BackColor = Color.White
    End Sub

    Private Sub LlenarDatosAhorros()
        If varConexion.State = ConnectionState.Open Then
            varConexion.Close()
        End If
        Try
            varConexion.Open()
            Dim cmd As New SqlCommand("SP_MostrarSaldoAhorrado", varConexion)
            cmd.CommandType = CommandType.StoredProcedure
            cmd.Parameters.Add("@NumeroCuenta", SqlDbType.Int).Value = Me.cboNumCuenta.EditValue

            Dim reader As SqlDataReader
            reader = cmd.ExecuteReader
            If reader.Read = True Then
                Me.txtAhorros.Text = reader.Item("Ahorros")
            End If
            varConexion.Close()
        Catch ex As Exception
            MsgBox("Datos Nulos en la Base de datos", MsgBoxStyle.Critical, varTitulo)
        End Try
    End Sub

    Private Sub LlenarDatosRetiros()
        If varConexion.State = ConnectionState.Open Then
            varConexion.Close()
        End If
        Try
            varConexion.Open()
            Dim cmd As New SqlCommand("SP_MostrarSaldoRetirable", varConexion)
            cmd.CommandType = CommandType.StoredProcedure
            cmd.Parameters.Add("@NumeroCuenta", SqlDbType.Int).Value = Me.cboNumCuenta.EditValue

            Dim reader As SqlDataReader
            reader = cmd.ExecuteReader
            If reader.Read = True Then
                Me.txtRetiros.Text = reader.Item("Retiros")
            End If
            varConexion.Close()
        Catch ex As Exception
            MsgBox("Datos Nulos en la Base de datos", MsgBoxStyle.Critical, varTitulo)
        End Try
    End Sub

    Private Sub cboNumCuenta_EditValueChanged(sender As Object, e As EventArgs) Handles cboNumCuenta.EditValueChanged
        Try
            Call LlenarDatosAhorros()
            Call LlenarDatosRetiros()
            llenarsaldo()
            btnHistorial.Enabled = True
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
        
    End Sub

    Private Function llenarsaldo()
            ahorros = Me.txtAhorros.Text - Me.txtRetiros.Text
            Me.txtSaldo.Text = ahorros
            Return ahorros
    End Function


    Private Sub btnHistorial_Click(sender As Object, e As EventArgs) Handles btnHistorial.Click
        frmHistoricoDetalleAhorros.Show()
    End Sub
End Class